{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "b6213796-52c5-4ce3-a51b-38aa7b7a17de",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "from sklearn.tree import DecisionTreeRegressor\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score\n",
    "from sklearn.preprocessing import MinMaxScaler\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei']\n",
    "plt.rcParams['axes.unicode_minus'] = False\n",
    "from statsmodels.tsa.ar_model import AutoReg\n",
    "from sklearn.model_selection import train_test_split"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "e656a263-1bff-4b8e-8541-7e48ad76f6ee",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     年份  石油可供量(万吨)  石油生产量(万吨)  进口石油量(万吨)  出口石油量(-)(万吨)  年初年末石油库存差额(万吨)  \\\n",
      "0  2021    69048.0    19888.1    58820.0        7616.8         -2043.2   \n",
      "1  2020    67553.7    19476.9    61271.7        7551.0         -5643.8   \n",
      "2  2019    66900.9    19101.4    58102.2        8211.4         -2091.4   \n",
      "3  2018    63726.6    18932.4    54094.3        7557.4         -1742.7   \n",
      "4  2017    60810.8    19150.6    49141.2        7026.7          -454.3   \n",
      "\n",
      "   石油能源消费总量(万吨)  农、林、牧、渔业石油消费总量(万吨)  工业石油消费总量(万吨)  建筑业石油消费总量(万吨)  ...  \\\n",
      "0       68393.4              1981.0       28218.9         4270.1  ...   \n",
      "1       65369.1              1773.1       27711.1         4180.3  ...   \n",
      "2       64506.5              1748.2       25210.6         4055.1  ...   \n",
      "3       62245.1              1724.9       22460.3         3935.7  ...   \n",
      "4       60395.9              1786.4       21486.7         3803.5  ...   \n",
      "\n",
      "   居民生活石油消费总量(万吨)  石油终端消费量(万吨)  工业终端石油消费量(万吨)  中间消费(用于加工转换)(万吨)  \\\n",
      "0          7504.6      65630.4        25456.9            2743.0   \n",
      "1          7170.1      62085.2        24428.4            3265.6   \n",
      "2          7314.0      61018.5        21732.4            3453.6   \n",
      "3          7328.4      58623.0        18847.6            3593.3   \n",
      "4          7139.7      56880.0        17980.5            3468.9   \n",
      "\n",
      "   火力发电中间消费石油(万吨)  供热中间消费石油(万吨)  制气中间消费石油(万吨)  炼油损失量(万吨)  石油损失量(万吨)  \\\n",
      "0           324.2         677.6          60.5     1680.7       20.0   \n",
      "1           321.5         677.7          28.9     2232.9       18.3   \n",
      "2           308.3         653.8           3.7     2487.9       34.5   \n",
      "3           309.3         590.2           4.7     2689.0       28.8   \n",
      "4           280.6         522.6           4.7     2661.0       47.0   \n",
      "\n",
      "   石油平衡差额(万吨)  \n",
      "0       654.6  \n",
      "1      2184.6  \n",
      "2      2394.3  \n",
      "3      1481.5  \n",
      "4       414.9  \n",
      "\n",
      "[5 rows x 23 columns]\n"
     ]
    }
   ],
   "source": [
    "# 读取数据\n",
    "import os \n",
    "os.chdir(r\"D:\\Study\\Python\\ClearData(1)\")\n",
    "df = pd.read_csv(\"Petroleum_20_interpolate.csv\", encoding='utf-8')\n",
    "# 打印出数据的前5行，检查数据是否导入正确\n",
    "print(df.head())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "9d8aad86-426e-4077-84f5-bd5e784fb145",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "# 按照年份升序\n",
    "df.sort_values(by='年份',inplace=True,ignore_index=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "ce17c6ad-8ad7-4239-941a-1f2e9cb06163",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>年份</th>\n",
       "      <th>石油可供量(万吨)</th>\n",
       "      <th>石油生产量(万吨)</th>\n",
       "      <th>进口石油量(万吨)</th>\n",
       "      <th>出口石油量(-)(万吨)</th>\n",
       "      <th>年初年末石油库存差额(万吨)</th>\n",
       "      <th>石油能源消费总量(万吨)</th>\n",
       "      <th>农、林、牧、渔业石油消费总量(万吨)</th>\n",
       "      <th>工业石油消费总量(万吨)</th>\n",
       "      <th>建筑业石油消费总量(万吨)</th>\n",
       "      <th>...</th>\n",
       "      <th>居民生活石油消费总量(万吨)</th>\n",
       "      <th>石油终端消费量(万吨)</th>\n",
       "      <th>工业终端石油消费量(万吨)</th>\n",
       "      <th>中间消费(用于加工转换)(万吨)</th>\n",
       "      <th>火力发电中间消费石油(万吨)</th>\n",
       "      <th>供热中间消费石油(万吨)</th>\n",
       "      <th>制气中间消费石油(万吨)</th>\n",
       "      <th>炼油损失量(万吨)</th>\n",
       "      <th>石油损失量(万吨)</th>\n",
       "      <th>石油平衡差额(万吨)</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2004</td>\n",
       "      <td>32115.5</td>\n",
       "      <td>17587.3</td>\n",
       "      <td>17291.3</td>\n",
       "      <td>2240.6</td>\n",
       "      <td>-522.6</td>\n",
       "      <td>32072.9</td>\n",
       "      <td>1231.4</td>\n",
       "      <td>14829.1</td>\n",
       "      <td>1392.3</td>\n",
       "      <td>...</td>\n",
       "      <td>2208.0</td>\n",
       "      <td>28624.7</td>\n",
       "      <td>11505.6</td>\n",
       "      <td>3298.5</td>\n",
       "      <td>1653.5</td>\n",
       "      <td>439.4</td>\n",
       "      <td>10.5</td>\n",
       "      <td>1195.1</td>\n",
       "      <td>149.7</td>\n",
       "      <td>42.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2005</td>\n",
       "      <td>32539.1</td>\n",
       "      <td>18135.3</td>\n",
       "      <td>17163.2</td>\n",
       "      <td>2888.1</td>\n",
       "      <td>128.8</td>\n",
       "      <td>32547.0</td>\n",
       "      <td>1451.7</td>\n",
       "      <td>14030.4</td>\n",
       "      <td>1502.2</td>\n",
       "      <td>...</td>\n",
       "      <td>2284.4</td>\n",
       "      <td>29495.6</td>\n",
       "      <td>11107.5</td>\n",
       "      <td>2896.0</td>\n",
       "      <td>1306.4</td>\n",
       "      <td>429.1</td>\n",
       "      <td>14.4</td>\n",
       "      <td>1146.1</td>\n",
       "      <td>155.4</td>\n",
       "      <td>-7.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2006</td>\n",
       "      <td>34930.0</td>\n",
       "      <td>18476.6</td>\n",
       "      <td>19453.0</td>\n",
       "      <td>2626.2</td>\n",
       "      <td>-373.3</td>\n",
       "      <td>34930.8</td>\n",
       "      <td>1540.2</td>\n",
       "      <td>14648.9</td>\n",
       "      <td>1648.5</td>\n",
       "      <td>...</td>\n",
       "      <td>2609.2</td>\n",
       "      <td>32094.1</td>\n",
       "      <td>11977.4</td>\n",
       "      <td>2636.8</td>\n",
       "      <td>931.3</td>\n",
       "      <td>430.9</td>\n",
       "      <td>13.4</td>\n",
       "      <td>1261.3</td>\n",
       "      <td>200.0</td>\n",
       "      <td>-0.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2007</td>\n",
       "      <td>36648.9</td>\n",
       "      <td>18631.8</td>\n",
       "      <td>21139.4</td>\n",
       "      <td>2664.3</td>\n",
       "      <td>-458.0</td>\n",
       "      <td>36654.5</td>\n",
       "      <td>1399.9</td>\n",
       "      <td>14900.8</td>\n",
       "      <td>1823.1</td>\n",
       "      <td>...</td>\n",
       "      <td>2981.1</td>\n",
       "      <td>34012.6</td>\n",
       "      <td>12424.2</td>\n",
       "      <td>2441.9</td>\n",
       "      <td>718.6</td>\n",
       "      <td>436.3</td>\n",
       "      <td>5.0</td>\n",
       "      <td>1282.1</td>\n",
       "      <td>200.0</td>\n",
       "      <td>-5.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2008</td>\n",
       "      <td>37318.8</td>\n",
       "      <td>19044.0</td>\n",
       "      <td>23015.5</td>\n",
       "      <td>2945.7</td>\n",
       "      <td>-1795.0</td>\n",
       "      <td>37332.9</td>\n",
       "      <td>1265.8</td>\n",
       "      <td>15285.2</td>\n",
       "      <td>1517.5</td>\n",
       "      <td>...</td>\n",
       "      <td>2916.9</td>\n",
       "      <td>34510.9</td>\n",
       "      <td>12630.8</td>\n",
       "      <td>2619.7</td>\n",
       "      <td>504.1</td>\n",
       "      <td>418.2</td>\n",
       "      <td>1.6</td>\n",
       "      <td>1695.8</td>\n",
       "      <td>202.4</td>\n",
       "      <td>-14.1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     年份  石油可供量(万吨)  石油生产量(万吨)  进口石油量(万吨)  出口石油量(-)(万吨)  年初年末石油库存差额(万吨)  \\\n",
       "0  2004    32115.5    17587.3    17291.3        2240.6          -522.6   \n",
       "1  2005    32539.1    18135.3    17163.2        2888.1           128.8   \n",
       "2  2006    34930.0    18476.6    19453.0        2626.2          -373.3   \n",
       "3  2007    36648.9    18631.8    21139.4        2664.3          -458.0   \n",
       "4  2008    37318.8    19044.0    23015.5        2945.7         -1795.0   \n",
       "\n",
       "   石油能源消费总量(万吨)  农、林、牧、渔业石油消费总量(万吨)  工业石油消费总量(万吨)  建筑业石油消费总量(万吨)  ...  \\\n",
       "0       32072.9              1231.4       14829.1         1392.3  ...   \n",
       "1       32547.0              1451.7       14030.4         1502.2  ...   \n",
       "2       34930.8              1540.2       14648.9         1648.5  ...   \n",
       "3       36654.5              1399.9       14900.8         1823.1  ...   \n",
       "4       37332.9              1265.8       15285.2         1517.5  ...   \n",
       "\n",
       "   居民生活石油消费总量(万吨)  石油终端消费量(万吨)  工业终端石油消费量(万吨)  中间消费(用于加工转换)(万吨)  \\\n",
       "0          2208.0      28624.7        11505.6            3298.5   \n",
       "1          2284.4      29495.6        11107.5            2896.0   \n",
       "2          2609.2      32094.1        11977.4            2636.8   \n",
       "3          2981.1      34012.6        12424.2            2441.9   \n",
       "4          2916.9      34510.9        12630.8            2619.7   \n",
       "\n",
       "   火力发电中间消费石油(万吨)  供热中间消费石油(万吨)  制气中间消费石油(万吨)  炼油损失量(万吨)  石油损失量(万吨)  \\\n",
       "0          1653.5         439.4          10.5     1195.1      149.7   \n",
       "1          1306.4         429.1          14.4     1146.1      155.4   \n",
       "2           931.3         430.9          13.4     1261.3      200.0   \n",
       "3           718.6         436.3           5.0     1282.1      200.0   \n",
       "4           504.1         418.2           1.6     1695.8      202.4   \n",
       "\n",
       "   石油平衡差额(万吨)  \n",
       "0        42.6  \n",
       "1        -7.9  \n",
       "2        -0.8  \n",
       "3        -5.6  \n",
       "4       -14.1  \n",
       "\n",
       "[5 rows x 23 columns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "8527004e-c078-4265-96cd-8ad3faff3a37",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "x_columns=[\"石油能源消费总量(万吨)\",\"石油可供量(万吨)\",\n",
    "           \"工业石油消费总量(万吨)\",\"建筑业石油消费总量(万吨)\",\n",
    "           \"居民生活石油消费总量(万吨)\"]\n",
    "y_columns=['石油生产量(万吨)']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "f930a5ad-3a08-48a4-a0bd-ba6b316677de",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "# 划分特征值X和目标值y\n",
    "X = df[x_columns]\n",
    "y = df[y_columns]\n",
    "# 划分数据集\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "ab6e7091-cce9-4e6a-8006-d6504297e3a5",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "# 决策树模型训练\n",
    "dtr = DecisionTreeRegressor(max_depth=3,ccp_alpha=0.001).fit(X_train,y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "3c3985bc-fe8f-43a3-b6b4-67a0b21a73a1",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "#模型预测\n",
    "train_pred = dtr.predict(X_train) #训练集预测\n",
    "test_pred = dtr.predict(X_test) #测试集预测"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "af9f40cc-363d-473a-bd4b-ddc43b08b47e",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "def scores(y_true, y_pred):\n",
    "    \"\"\"\n",
    "    计算模型评价指标 R2\\MAE\\RMSE\\SMAPE\n",
    "    \"\"\"\n",
    "    r2 = r2_score(y_true, y_pred)\n",
    "    MAE = mean_absolute_error(y_true, y_pred)\n",
    "    RMSE = np.sqrt(mean_squared_error(y_true, y_pred))\n",
    "#     SMAPE = calculate_smape(y_true, y_pred)\n",
    "    SMAPE = 0\n",
    "    # 根据 flag 输出结果\n",
    "    evaluation_results = {'R2': r2, 'MAE': MAE, 'RMSE': RMSE, 'SMAPE': SMAPE}\n",
    "    for metric, value in evaluation_results.items():\n",
    "        print(f\"{metric}: {value}\")\n",
    "\n",
    "    return evaluation_results\n",
    "\n",
    "def calculate_smape(actual, forecast):\n",
    "    \"\"\"\n",
    "    计算SMAPE\n",
    "    :param actual: 实际观测值\n",
    "    :param forecast: 预测值\n",
    "    :return: SMAPE值\n",
    "    \"\"\"\n",
    "    if len(actual) != len(forecast):\n",
    "        raise ValueError(\"实际观测值和预测值的长度不一致\")\n",
    "\n",
    "    n = len(actual)\n",
    "    total_smape = 0\n",
    "    for i in range(n):\n",
    "        diff = abs(actual[i] - forecast[i])\n",
    "        denom = (abs(actual[i]) + abs(forecast[i])) / 2\n",
    "        total_smape += diff / denom\n",
    "\n",
    "    smape = (total_smape / n) * 100\n",
    "    return smape[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "3f2da4f7-79bf-45ec-b63b-a3d9b363a46b",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Metrics for the Training Set\n",
      "R2: 0.9762510135899\n",
      "MAE: 112.94999999999952\n",
      "RMSE: 179.89439263078705\n",
      "SMAPE: 0\n",
      "\n",
      "Metrics for the Test Set\n",
      "R2: 0.1790668488247532\n",
      "MAE: 632.0333333333328\n",
      "RMSE: 667.8646313687624\n",
      "SMAPE: 0\n"
     ]
    }
   ],
   "source": [
    "print('Metrics for the Training Set')\n",
    "train_results = scores(y_train,train_pred)\n",
    "print()\n",
    "print('Metrics for the Test Set')\n",
    "test_results = scores(y_test,test_pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "2ba380f1-93fa-48e0-a3ed-ac6b6e5ce16a",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "# 合并训练集和测试集的数据\n",
    "y_train_plot = y_train.copy()\n",
    "y_test_plot = y_test.copy()\n",
    "y_train_plot['模型拟合数据'] = train_pred\n",
    "y_test_plot['模型拟合数据'] = test_pred\n",
    "y_concat = pd.concat([y_train_plot,y_test_plot]).sort_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "cc3b3b6c-6405-40e9-a445-157347e9b21a",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "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jZdffjl7f2JiolGmTBlj5MiR2ds6dOhgAMZPP/10UZ0iIiL6mFdEROQyznVbDwgIYMeOHcybNy97qTWr1crp06fZt28fAFu2bKFRo0b4+fllv37EiBG8//77ub5e//79cXZ2pl69egwbNowffviBdu3a5TjnlWzYsAGr1UqnTp2yt4WFheHr68uGDRuytw0aNAhvb+/s50FBQWRmZua6TjBnp//444+xWq05ticmJnLkyBE++uij7PfK398fm82W/V7t2LGDrVu35lgub/Pmzdn7z51/y5Yt/P7771gsFkaMGEGdOnUA2LdvH2lpaTz99NPZr2/YsGH2PoDatWsTExPD6tWriY2N5a+//qJu3boX3UdgYOAlv0e5uUaPHj2oXLkyTZs25cEHH2TixImEhYVRrlw5AJydnRk+fDivvfYat99+O2+88QYZGRmEhYUB8M8//5CSkkKXLl2yr+vt7U3Lli1zfL8AunXrxt13353bb4+IiNxANPu9iIjIZezYsQOAevXqAfDYY4/x8MMP5zimVKlSgDke/r9ruUdFRbFv3z7atGmTq+7StWrVYt++fSxatIg1a9bwxhtv8Prrr7Nly5YcXcYvx7jMuHiLxZJjX7Vq1a56rqspX778FWehf+edd7jjjjtybLtwBYHevXvzxhtv5Njv6emZ/bXFYqFx48Y0btyYu+++mzFjxjBkyJAcHyJMmzaNJk2a5DhHxYoVs+urWLEi7du3x26306JFC1599dWL6qxXr16ODzj+60rXKF26NLt27WLx4sWsXr2ajz76iFGjRrFu3Tpq164NwCeffMLAgQNZsWIFK1as4O233+add97h5Zdfzv6e/PfvjZOT00XfywuHN4iIiFxILfUiIiKXMXnyZNzd3bn99tupX78+J06cyA6ajRs3Zu7cudlj0Zs0acK2bdtISEjIfv3nn39Or169cj3+ecqUKaxcuZJ+/frx8ccfs379eiIjI5k/f36uXh8WFobNZmPlypXZ2zZt2kR8fHx26zBwUet6QfLx8aFSpUrExMTkeK+mTJnCqlWrAKhfvz5Hjx7NsX/16tWXnSzv9ddf59ChQ8ycOROA6tWr4+bmRmJiYvbr69Spw/jx49m+fTtgjoe/9957iYqK4tChQ4SHh1O6dOlc30durjFnzhxmzZpF7969+eCDD9i2bRtA9n0cO3aMkSNH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60ib9wzNM3cCEGGpQFyHd2ja8W4HVyYiIiIiIiJXo1B/g4qPO83umS/RPPpnnC12Ugw3tlUdStO+rxLi7uno8kRERERERCQXFOpvMHabjU2/fUHVrf+jFfFmV3vv9lToM47WlWo4ujwRERERERHJA4X6G8iB7WvI/O1ZwjJ3AXDUKZj4ju/StP2dDq5MRERERERE8kOh/gYQH3eaPd+9QPNTc7BaDLOrfbVHaNb3FSq5uTu6PBEREREREcknhfoSzG6zsfHXz6i+7QNakgAW2OTdkYr9xtG6YjVHlyciIiIiIiLXSKG+hNq/bRW2356lRdYeAI44hZDY6V2atevl4MpERERERESkoCjUlzDxMVHsmfkCYafn4XS2q/326sNp2udlKqurvYiIiIiISImiUF9C2G02Ns79mBo7xp3vau9zMyH9xtEqONTR5YmIiIiIiEghUKgvIdb/+H+02vt/ABx2CiGp8/s0u6mHg6sSERERERGRwqRQX0I07PE4h/fN5GS1e2l270u4uLo5uiQREREREREpZAr1JYSntx8hL2+lirO+pSIiIiIiIjcKJ0cXIAXHqkAvIiIiIiJyQ1GoFxERERERESmmFOpFREREREREiimFehEREREREZFiSqFeREREREREpJhSqBcREREREREpphTqRURERERERIoprYGWC4ZhAJCQkODgSkRERERERORGcC5/nsujl6NQnwuJiYkAhISEOLgSERERERERuZEkJibi5+d32f0W42qxX7Db7Rw/fhwfHx8sFoujy7mshIQEQkJCiIiIwNfX19Hl5FtJuI+ScA+g+yhKSsI9gO6jqCkJ91ES7gF0H0VNSbiPknAPoPsoakrCfRSnezAMg8TERCpUqICT0+VHzqulPhecnJyoWLGio8vINV9f3yL/FzQ3SsJ9lIR7AN1HUVIS7gF0H0VNSbiPknAPoPsoakrCfZSEewDdR1FTEu6juNzDlVroz9FEeSIiIiIiIiLFlEK9iIiIiIiISDGlUF+CuLm58cYbb+Dm5uboUq5JSbiPknAPoPsoSkrCPYDuo6gpCfdREu4BdB9FTUm4j5JwD6D7KGpKwn2UhHv4L02UJyIiIiIiIlJMqaVeREREREREpJhSqBcREREREREpphTqRURERERERIophXoREREp8WJiYlizZg2nT592dCkiIiIFSqG+CJs3bx5Vq1bF2dmZli1bsnv3bgB27txJWFgY/v7+PP/881w41+GV9l2oW7duzJgx43rcRoHfx5NPPonFYsl+VK9evVjexzkvvfQSPXr0KHb3MGPGjBzfh3OP6/H3qqC/F9988w2VKlXC29ubLl26cPjw4UK/h8K4j+nTp1O/fn1KlSpF//79r1t4yc99gBmyQkNDL3q/c/v/WFG+h6vtKywFfR+XO19xu49Zs2ZRvXp1Hn/8cSpVqsSsWbOK5X1c6Hr9HC/oeyhOP8OvdB/nXM+f4VCw9+Gon+MF/b0oTj/Dr3Qfxeln+JV+NjjiZ3hh3Ac45ud4vhlSJO3fv9/w9/c3fvjhB+PkyZPGvffea7Rp08ZIS0szqlSpYjzyyCPG/v37jdtvv92YNm2aYRjGFfdd6NtvvzUAY/r06cXyPlq3bm0sWLDAiIuLM+Li4oyEhIRieR+GYRg7duz4//buPybq+o8D+JPfv+4CUTRpEJQN0cbQAhmlraGR9OMfYCMdGm4BluvXtPWHNrdy08WYRhvYWAKlZKWsWKsdw+aKpUxalEYMjAStLWRHIL/u4F7fPxw3RDgP+Xw+d2++z8fGH3fv+3z2fu5z93nufT8+iNlsls7OTuUyjI2NOY+B1WqVnp4eWbJkiVy+fFmpHJ2dnRITEyMtLS1y5coV2bFjhzzxxBO6ZtAjR0NDg5hMJrFYLPLXX39JVlaWPP74416ZQ0Skt7dX0tLSBIB0dXU573f3PObNGe40pkqO2fanWg6r1SpLliyR3377TUREampqJDY2VrkcUxnV43pkUKXD75RDxNgO1yOHJ3pcj/OUKh3uKodKHe6qGzzR4XrkEPFMj88HF/Veqr6+XsrLy523z5w5I4GBgVJXVyeLFi2SoaEhERH55Zdf5LHHHhMRcTk2qa+vT5YtWyYJCQmGLOq1zmG328VsNsvg4KDuc9czh4iIw+GQ9PR02bdvn7IZpjpw4IAUFhbqnEL7HF988YXk5uY69/fDDz/I8uXLlcuRn58vr7/+unN/ly5dEgBy/fp1r8shIpKRkSGHDx++rSzn8pzz1gx3GtOL1jlm259qObq7u+XTTz913m5tbRWz2axcjklG9rjWGVTqcBHXx8LoDhfR7zk1yYge1zqDSh3uKodKHe6qGzzR4XrkEPFMj88HF/WKKC8vl1WrVsn+/ftl8+bNzvsdDocsWrRIRMTl2KQXX3xRiouLZfv27YYs6qebb46WlhYxmUzy4IMPSnBwsGRmZsqVK1eMDSHaHI+jR49KaGiofPzxx1JfXy82m824AKLdc0pEZGRkRJYuXeqRk958c1y6dEkWL14sP//8s/T390teXp5s27bN2BAy/xybN2+W0tJS59gff/whAKS/v9+gBDe5k0NEnJ8ETS9Ld59zeppvhjuNGUWLHDPtz2ha5rDZbJKfny/bt2/Xc8oz0iqHJ3t8vhlU6nAR18fC0x0uou1rw1M9Pt8MKnW4yOw5VOvwmbYR8Y4Onzqnu80h4h09Phf8Tb0CbDYbSkpK8PLLL2NgYADx8fHOMR8fH/j5+cFqtbocA4Dvv/8ejY2NOHTokOEZAG1ytLW1YfXq1aitrcXvv/+OgIAAFBUVKZfjxo0b2Lt3Lx566CFcvXoVpaWl2LBhA0ZHR5XJMNWJEyeQlpaGuLg4Q+Y/SYscq1atQk5ODtauXYuIiAicP38eJSUlyuVITk7G119/7fyt2LFjx5Camorw8HCvywEADzzwwIz7cPc5pxctMtxpzAha5Zhpf0bSMkdrayuWLVsGi8WCw4cP6znt22iVw5M9rkUGlTocmD2Hpzsc0P417oke1yKDSh0OzJ5DtQ6faRvA8x0+fU53mwPwfI/PFRf1Cti7dy9MJhMKCwvh7++PoKCgW8aDg4MxPDzscmx0dBRFRUUoLy/HPffcY+T0nbTIsXXrVpw7dw4pKSmIj4/Hhx9+CIvFgoGBAaVynD59GkNDQzhz5gz27dsHi8WC/v5+1NTUKJNhqoqKChQXF+s+7+m0yHHu3DnU19fj/PnzGBwcxAsvvICsrCzDLuyiVY7du3fDZrPhkUceQXp6Og4dOoRdu3YZlgFwP4crd7udVrTI4A20zjF1f0bSMkdSUhIaGxuxevVqFBQU6DHdWWmRw9M9rkUGlTrcFU93OKD9a9wTPa5FBpU63BVVO3x6N3hDb2qRQ0Vc1Hu5hoYGVFRU4MSJEwgICEBkZCR6e3tveczg4CACAwNdjr377rtISUnBM888Y+T0nbTKMV1ERAQcDgf++ecfXec/SascV69exbp16xAZGQng5kkwKSkJXV1dymSY1NnZic7OTmzcuFH3uU+lVY6TJ08iLy8PqampMJlMeO+99/Dnn3+itbVVqRyRkZFoamrC559/jqSkJKxcuRJbtmwxJMNcc7hyt9tpQasMnqZ1jun7M4rWOXx8fLBmzRpUVVXhq6++MuyTI61yeLLH9XpteHOHu+LJDge0Px6e6HGtMqjU4a6o2OEzdYOne1OrHEry7Lf/yZXLly9LVFTULRf4aWxslBUrVjhvd3V1SXBwsIyPj7sci4uLk7CwMAkPD5fw8HAJCAiQkJAQ2blzp1I53njjDTl58qRzrKGhQXx9fZ0XwFAlR01NjaSlpd2y/3Xr1t1ywQ5vzzDpwIEDkp+fr+u8p9Myx65du2Tr1q3Osf/++0+CgoLkwoULSuWYNDQ0JFFRUVJXV6f7/CfNNcdUmPZbNXe305qWGdwd04PWOWbanxG0fk7t3r3befvvv/8WHx8fQ36rqmUOT/W4lhlU6vCppufwVIeL6HOuMrrHtcygUodPNduxUKXDZ+sGT3X4bHO62xxTGd3jd4uLei81PDwsiYmJ8tJLL8ng4KDzz2azSVRUlFRXV4uISFFRkTz77LMicvOqsrON9fT0SFdXl/MvOztb3n//fent7VUqR3V1taxYsULOnj0rjY2NsnLlStmxY4euGfTI0dfXJ+Hh4VJeXi49PT1y5MgRCQoK0vWkoXWGSevXrzfk35XolaO2tlZCQkKktLRUjh8/Lk8++aTExsbqftEjvY7HwYMHZf369brOfb45pppelu5k9PYM7o5pTescs+3P4XAolePatWtiNpvl6NGj0t3dLdu2bZPMzExdM+iRwxM9rnUGlTrcVQ5PdLgeOSYZ2eNaZ1Cpw13lmKRCh7vqBk90uB45puKinualrq5OANz219XVJXV1dRISEiJLly6VxYsXy8WLF2/ZbraxqYy6aq4eOd5++22JiIiQmJgYefXVV+XGjRtK5vjpp58kPT1dQkJCJD4+Xvd3ZfXIMDw8LIGBgdLW1qbr3PXM4XA4ZP/+/RIbGysBAQGyZs0aQ97h1+N4WK1WiYyMlObmZt3nP98ck2YqS3fPY96cwZ0xrWmdw9X+VMohIvLdd99JYmKimM1mycnJkX///VfXDHrlmMqIHtcjg0od7iqH0R2uVw6je1zrDKp1+Gw5RNTp8Dt1g9EdrleOSaos6n1EDLySBGnm2rVruHDhAtLT0xEVFeX2mLdhDu+xEDIAzOFt7nau3pTRm+YyH8zhXRZCjoWQAWAOb7IQMgDM4W35vW0+euCinoiIiIiIiEhRvPo9ERERERERkaK4qCciIiIiIiJSFBf1RERERERERIriop6IiIjuylwvy9Pc3IyhoaHb7h8fH8fo6KhW0yIiIvq/wkU9ERERzVlfXx+io6Nx+vRpt7fZsmULjh8/DgBob2/HkSNHAAA5OTn47LPPdJknERHRQsdFPREREc3ZwYMHERoaiqysrNvGRAQ2mw12u91539mzZ2Gz2VBQUAAAOHXqFBobGwEAzz33HL799ltjJk5ERLTA8F/aERER0Zz8+uuvSElJQUJCAnx9b34+0N7ejvvuuw8mkwkTExMYGxvDK6+8gtdeew0AsGnTJjz11FPYs2cPHA4HEhISUFZWhqeffhp9fX24//770dHRgeXLl3syGhERkXK4qCciIiK3DQ0NITU1FSkpKaiqqnLen5ycjJKSEmzcuPG2bSwWCzIzM1FbW4u8vDxUVVWhrKwMLS0tzsfs2bMH169fx7Fjx4yIQUREtGDw6/dERETkFrvdjuzsbNjtdpSVlc34GIfDAbvd7rwg3uDgIHbu3InIyEgAQHd3N95880188MEHt2z3zjvvwGKx4Msvv9Q3BBER0QLDT+qJiIjILSICi8WCmJgYPP/88/D19UVoaCiAm1+/j46ORlhYGCYmJhAREYGmpiZUVlaiqakJVqsVGRkZKCsrg9lsRkdHBwIDA2/Zf3JyMpqbm9He3s6v4RMREbmJi3oiIiKas4cffhiVlZVIS0sD4Prr93a7Hbm5ucjJycHw8DAKCgrQ1taG7OxsdHR0AADy8vKwadMmZGRkIC4uzsgoRERESvP39ASIiIhIDQ6HAyICPz8/5wXyXJmYmICvry8CAgIAAP7+/igsLAQAWK1W3Hvvvc7H2u12hIWFcUFPREQ0R1zUExERkVtOnTqFt956C0FBQfD390dxcbFzrL29HcXFxTCZTACA8fFxjI2N4ZNPPnF+mj/Vjz/+iEcffdR5e3R0FCEhIfqHICIiWmC4qCciIiK35ObmIjc3d8YxV1+/B27+Hn/SyMgIqqurUVlZ6bxvYGDA+YYAERERuY+LeiIiIpq3iYkJTExMzDpus9kwPj6OgYEB5OXlYe3atdiwYQM6OzvR09ODixcvIjo62sAZExERLQxc1BMREdG8jYyMwGazzTpus9lgt9vx0Ucfwc/Pz/k/7r/55htUVFSgqKgIiYmJBs2WiIho4eDV74mIiMhQDofDrQvtERER0Z1xUU9ERERERESkKL5NTkRERERERKQoLuqJiIiIiIiIFMVFPREREREREZGiuKgnIiIiIiIiUhQX9URERERERESK4qKeiIiIiIiISFFc1BMREREREREpiot6IiIiIiIiIkVxUU9ERERERESkqP8Buhxh1eLOejgAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1200x300 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 测试集的真实值与预测值可视化\n",
    "plt.figure(figsize=(12,3))\n",
    "plt.plot(df['年份'],y_concat['模型拟合数据'],label= '模型拟合数据')\n",
    "plt.plot(df['年份'],y_concat[y_columns],label= '真实值')\n",
    "plt.title('DecisionTreeRegressor')\n",
    "plt.legend()\n",
    "plt.xticks(df['年份'])\n",
    "plt.xlabel('年份')\n",
    "plt.ylabel(y_columns)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "581f257d-f7dc-43d2-b81a-6210c4df809d",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "# 预测未来20年的输出数据\n",
    "last_year = df['年份'].max()\n",
    "future_df = list(range(last_year,last_year+21))\n",
    "# 拟合自回归模型\n",
    "X_preds = []\n",
    "for col in x_columns:\n",
    "    model = AutoReg(df[col],lags=2)\n",
    "    model_fit = model.fit()\n",
    "    predictions = model_fit.predict(start = df.shape[0],end=df.shape[0]+19,dynamic = False)\n",
    "    X_preds.append(predictions.to_list())\n",
    "X_future = np.array(X_preds).T"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "092b2525-3ec0-43c8-9379-245f32b3cce7",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "# 预测未来20年的y\n",
    "future_preds = dtr.predict(pd.DataFrame(X_future,columns=X.columns))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "20fe3921-d110-431d-bf45-69f00fedc437",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/UAAAE3CAYAAADrBGFvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABAKElEQVR4nO3dfZyM9eL/8ffs/a7dnd11E2qtRcI62tLKWUUdlCOiI+ewToUjdKMbJ3WUwkno5CFFkSNEJSkRulEUhw5FWrQ4bnPTnd3Wzrqbvfv8/vA1P5Pd2Rlm7Fx6PR+PeTzM9ZnrmveMNR/vva65LpsxxggAAAAAAFhOSFUHAAAAAAAA54ZSDwAAAACARVHqAQAAAACwKEo9AAAAAAAWRakHAAAAAMCiKPUAAAAAAFgUpR4AAAAAAIui1AMAAAAAYFGUegAAAAAALIpSDwCApM8//1w2m002m02xsbFq1aqVXn311YA8V9++fdW3b9/z2obNZtPnn3/ulzxnuuGGG1zvw69vF8qoUaNczxkSEqJ69eppyJAhOnLkyAXLAACAVYRVdQAAAILJG2+8oerVq+u1117TgAEDdODAAY0aNcqvz+GP7X311Ve64oorzj/Mr7zyyisqLCzUDz/8oFtvvVUTJkxQu3bt/P48lYmIiNDatWtVVFSkjRs36sknn1ROTo5WrFhxwbMAABDMKPUAAJyhWbNmSk9P180336yTJ09q7Nixuvfee1WrVi2/PUf9+vXPexvXXHPN+Qcpx+lfFOzbt0+S1LBhw4A9lyc2m831vJmZmZKkBx54QPv371e9evUueB4AAIIVh98DAFCBQYMGqbi4WB999FFVR/nNO13wDx48WMVJAAAILpR6AAAqcOWVV0qStm3bJkl6++231bx5c0VHR+uqq64661DwrVu3qkOHDoqOjla9evX05JNPqqSk5KztVvSdemOM/vnPfyolJUUxMTG68sor9eGHH5abraLv1B89elSDBw9WUlKS7Ha7+vbtq/z8fNd4/fr1NXv2bI0bN061a9dWYmKihgwZImOMt2+LZs+erfr168vpdOrxxx9XSkqKZs2a5faYl156SQ0bNlS1atV03XXXadOmTW7jK1euVKtWrRQVFaWmTZtq3rx5Hp/zxx9/lCTVrFlTklRaWqpRo0bpsssuU1xcnDp16qQ9e/a4rfPuu++qUaNGSkxM1N13361BgwYpISFB3333naRTX4O44YYbVFBQoHvvvVd16tTRypUrXet78xzTpk1T48aNFR0drcaNG2vOnDlu45s3b1b79u0VHx+vmjVrqn///jp27JjbYyZOnKiUlBRFRUWpffv22rp1q9v4DTfcoFGjRmnbtm3q2rWrEhISVFpa6vH9AgD8dlDqAQCoQFJSkiQpPz9fK1euVK9evXT77bfr448/VuvWrfXHP/5R27dvlyQdOnRI7dq1U1lZmd5//309/fTTmjRpksaMGeP187322msaPXq0HnvsMX3wwQfKzMxUjx499Msvv3i9je7du2vJkiV66aWXNHPmTK1evVqdOnVyK4GTJk3S4sWL9eqrr+rRRx/VlClTtGzZMq+f47SePXtq9erVGjp0qK699lrX8pkzZ+rhhx/WQw89pA8++EC1atXSH/7wB+Xl5UmSduzYoU6dOumaa67R8uXL9Ze//EVZWVkVfl9++/btGj16tNLS0tSoUSNJ0ujRozVp0iQ988wzWrx4sY4dO6YOHTq4fomyd+9eZWVl6d5779Vbb72lTz/9VIWFhfrggw9cvxiQpKKiIrVv31779+/XE088ocaNG7vGKnuOzz//XPfcc4/69Omjjz/+WL1791a/fv2Uk5Pj2ka3bt1UXFysxYsX66WXXtLHH3+sp59+2jX+9NNPa/jw4brvvvv0/vvvKyQkRG3bttX+/fvd3oM9e/aoXbt2uuyyyzRmzBiFhPBfOADA/zEAAMB89tlnRpLZtGmTa1lRUZGRZAYOHGjatWtnunXr5horLS01NWrUME899ZQxxpjHH3/cJCQkmCNHjrgeM2nSJPOPf/zjrOe66667zF133XXW8pEjRxq73W5OnjxpjDHm6NGjZsmSJW7bPE2S+eyzz8p9DcuXL3ct+/LLL40ks2jRImOMMSkpKaZOnTqmsLDQ9ZhmzZqZMWPGuG1r7969RpJ57733znruWbNmGUmmW7dupqSk5KzxlJQU8+CDD7ru5+fnm9DQUDNz5kzX609PT3db5+qrrzZ33nmn632Q5HZLS0szOTk5xhhjTpw4YaKioszzzz/vWn/z5s1Gklm5cqUxxpgFCxaYWrVqucYfffRRc9NNN7k95+nnuf/++896Dd48x+n34ccffzTGnPqZWLJkifnhhx+MMcYUFxebsLAwM378eNc2vv76a/Pll18aY4w5duyYiYmJMY8//rhrvLCw0NSqVcs89NBDrmXt2rUzksw777xzVk4AAPg1LwAAFTh92HpSUpK2bNmixYsXuy61FhoaqtzcXO3cuVOStGnTJl155ZWy2+2u9R988EGNGzfO6+fr3bu3wsLClJaWpoEDB2r+/Pm6/vrr3bbpyVdffaXQ0FDdeOONrmUZGRmKj4/XV1995VrWt29fxcbGuu7XrFlTxcXFXueUTp2d/sUXX1RoaKjb8sLCQn333Xd64YUXXO9VYmKiSktLXe/Vli1b9M0337hdLu/rr792jZ/e/qZNm/TBBx/IZrPpwQcfVNOmTSVJO3fu1MmTJ/Xwww+71m/RooVrTJKaNGmivLw8rV27Vr/88otWr16tZs2anfU6atSoUe7fkTfP0bVrV6WkpOjqq6/WXXfdpWnTpikjI0O1a9eWJIWFhWnw4MF68skn1blzZ40cOVJFRUXKyMiQJH377bc6fvy4OnTo4Hre2NhYXXvttW5/X5LUqVMn9ejRw9u/HgDAbwhnvwcAoAJbtmyRJKWlpUmS7r33Xt19991uj0lISJB06vvwv76W+08//aSdO3cqMzPTq8Olr7jiCu3cuVMff/yxvvjiC40cOVJPPfWUNm3a5HbIeEVMBd+Lt9lsbmMNGzasdFuVqVOnjsez0I8ZM0a33HKL27IzryDQvXt3jRw50m08JibG9Webzab09HSlp6erR48eGj9+vPr37+/2S4SZM2fqqquuctvGZZdd5sp32WWXqW3btiorK1OrVq00YsSIs3KmpaW5/YLj1zw9R/Xq1ZWTk6Ply5dr7dq1euGFFzR8+HCtX79eTZo0kSRNnjxZd955pz7//HN9/vnnevrppzVmzBg9/vjjrr+TX//chISEnPV3eebXGwAAOBN76gEAqMC///1vRUVFqXPnzmrevLl++OEHV9FMT0/XokWLXN9Fv+qqq5SdnS2Hw+Fa/+WXX1a3bt28/v7zjBkztGrVKvXq1UsvvviivvzySx06dEhLly71av2MjAyVlpZq1apVrmUbN25UQUGBa++wpLP2rvtTXFyc6tWrp7y8PLf3asaMGVqzZo0kqXnz5tq/f7/b+Nq1ays8Wd5TTz2lvXv36s0335QkNWrUSJGRkSosLHSt37RpUz3//PPavHmzpFPfh+/Zs6d++ukn7d27V+vWrVP16tW9fh3ePMfChQv11ltvqXv37nruueeUnZ0tSa7XcfDgQT300EP63e9+p2HDhmnZsmW6++679corr0g69QuFmJgYt3MJHDt2TOvWrXP7+wIAwBP21AMAcIacnBwdPnxYc+fO1fz58/Xiiy8qKSlJTz31lDp27KgnnnhCN998s9auXat//vOfWrBggaRTe/GnTZumP/3pT3rsscf0/fffa/LkyRo8eLDXz3348GGNGjVKTqdTycnJev/99yV5v2f9xhtvVPv27dW3b18999xzioiI0KOPPqpWrVqpa9euvr8Z52jkyJGus8m3bt1a7733nl555RXdcccdkqThw4erRYsWGjhwoLKysrRjxw79/e9/19ixY8vd3u9+9zt1795dY8eOVZ8+fRQdHa1HH31Uo0aNUmRkpJo2bapXXnlFS5Ys0ejRoyVJ1apV0/vvv682bdro0ksv1YkTJ1S/fn1FR0d79Rq8eQ6n06mHH35Y0qnD/detW6fCwkLX31dCQoLmzp2rkydPKisrSw6HQytXrnSNV6tWTf/4xz/0zDPPyG6368orr9SECRNUVFSkoUOHnvtfAADgt6VKv9EPAECQOH2SOUkmJibGtGnT5qyTxM2fP9+kpaWZyMhI06RJEzNr1iy38S1btpj27dubqKgok5KSYkaPHm2KiorOeq6KTpRXXFxshg8fburXr28iIyNNw4YNzZQpU8rNq3JOlGfMqROtDRw40CQkJJi4uDhz5513ml9++cU1npKSclbudu3amZEjR7otq+xEeSkpKeXmOm3y5MmmQYMGJioqylx11VVm6dKlbuMrVqwwGRkZJiIiwtSvX988++yzrrGRI0eayMhIt8dv2rTJSDJvv/22McaYkpISM3LkSHPppZea6Oho06ZNG/PFF1+4PT4qKsrUrFnThIaGGkkmIiLCvPDCC27P065duwpfQ2XPYYwxEyZMMJdffrmJiooyl112mXnqqadMWVmZa3zdunXmxhtvNHa73djtdtOlSxezd+/es7aRnJxsIiMjzY033mi2bNniNl7e3w8AAKfZjPHhwrQAAAAWkJycrDvuuEO33HKLIiIilJ+frwkTJig3N1dff/11VccDAMBvKPUAAOCiM2vWLE2ZMkU7d+7UiRMnlJSUpN///vcaMWKErrnmmqqOBwCA31DqAQAAAACwKM5+DwAAAACARVHq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",
      "text/plain": [
       "<Figure size 1200x300 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘图\n",
    "plt.figure(figsize=(12,3))\n",
    "plt.plot(range(last_year+1,last_year+21,1),future_preds)\n",
    "plt.title('DecisionTreeRegressor')\n",
    "plt.xticks(range(last_year+1,last_year+21,1))\n",
    "plt.xlabel('年份')\n",
    "plt.ylabel(y_columns)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9584c01f-2ec7-4cb0-9502-5d22c3f0f0b2",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
